home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / linux / auto_fs.h < prev    next >
C/C++ Source or Header  |  2009-10-16  |  2KB  |  80 lines

  1. /* -*- linux-c -*- ------------------------------------------------------- *
  2.  *   
  3.  * linux/include/linux/auto_fs.h
  4.  *
  5.  *   Copyright 1997 Transmeta Corporation - All Rights Reserved
  6.  *
  7.  * This file is part of the Linux kernel and is made available under
  8.  * the terms of the GNU General Public License, version 2, or at your
  9.  * option, any later version, incorporated herein by reference.
  10.  *
  11.  * ----------------------------------------------------------------------- */
  12.  
  13.  
  14. #ifndef _LINUX_AUTO_FS_H
  15. #define _LINUX_AUTO_FS_H
  16.  
  17. #include <linux/types.h>
  18. #include <sys/ioctl.h>
  19.  
  20. /* This file describes autofs v3 */
  21. #define AUTOFS_PROTO_VERSION    3
  22.  
  23. /* Range of protocol versions defined */
  24. #define AUTOFS_MAX_PROTO_VERSION    AUTOFS_PROTO_VERSION
  25. #define AUTOFS_MIN_PROTO_VERSION    AUTOFS_PROTO_VERSION
  26.  
  27. /*
  28.  * Architectures where both 32- and 64-bit binaries can be executed
  29.  * on 64-bit kernels need this.  This keeps the structure format
  30.  * uniform, and makes sure the wait_queue_token isn't too big to be
  31.  * passed back down to the kernel.
  32.  *
  33.  * This assumes that on these architectures:
  34.  * mode     32 bit    64 bit
  35.  * -------------------------
  36.  * int      32 bit    32 bit
  37.  * long     32 bit    64 bit
  38.  *
  39.  * If so, 32-bit user-space code should be backwards compatible.
  40.  */
  41.  
  42. #if defined(__sparc__) || defined(__mips__) || defined(__x86_64__) \
  43.  || defined(__powerpc__) || defined(__s390__)
  44. typedef unsigned int autofs_wqt_t;
  45. #else
  46. typedef unsigned long autofs_wqt_t;
  47. #endif
  48.  
  49. /* Packet types */
  50. #define autofs_ptype_missing    0    /* Missing entry (mount request) */
  51. #define autofs_ptype_expire    1    /* Expire entry (umount request) */
  52.  
  53. struct autofs_packet_hdr {
  54.     int proto_version;        /* Protocol version */
  55.     int type;            /* Type of packet */
  56. };
  57.  
  58. struct autofs_packet_missing {
  59.     struct autofs_packet_hdr hdr;
  60.         autofs_wqt_t wait_queue_token;
  61.     int len;
  62.     char name[NAME_MAX+1];
  63. };    
  64.  
  65. /* v3 expire (via ioctl) */
  66. struct autofs_packet_expire {
  67.     struct autofs_packet_hdr hdr;
  68.     int len;
  69.     char name[NAME_MAX+1];
  70. };
  71.  
  72. #define AUTOFS_IOC_READY      _IO(0x93,0x60)
  73. #define AUTOFS_IOC_FAIL       _IO(0x93,0x61)
  74. #define AUTOFS_IOC_CATATONIC  _IO(0x93,0x62)
  75. #define AUTOFS_IOC_PROTOVER   _IOR(0x93,0x63,int)
  76. #define AUTOFS_IOC_SETTIMEOUT _IOWR(0x93,0x64,unsigned long)
  77. #define AUTOFS_IOC_EXPIRE     _IOR(0x93,0x65,struct autofs_packet_expire)
  78.  
  79. #endif /* _LINUX_AUTO_FS_H */
  80.